Conversation
|
Some things from talking to claude (maybe you find it useful):
|
| """Identity of the participant who published the track.""" | ||
| return self._publisher_identity | ||
|
|
||
| async def subscribe(self) -> DataTrackSubscription: |
There was a problem hiding this comment.
issue: The python implementation doesn't support the rust equivalent of .subscribe_with_options(DataTrackSubscribeOptions::new().with_buffer_size(64)) - add buffer size support in!
There was a problem hiding this comment.
Will add the equivalent here once it is exposed in the FFI layer.
| async def __anext__(self) -> DataTrackFrame: | ||
| if self._closed: | ||
| raise StopAsyncIteration | ||
|
|
||
| event: proto_ffi.FfiEvent = await self._queue.get() |
There was a problem hiding this comment.
question: Should the python implementation of data tracks be updated to have the synchronous track.subscribe() behavior which was implemented in javascript, with any subscription errors cascading down into the first iterator __anext__ call?
| def __del__(self) -> None: | ||
| self._close() |
There was a problem hiding this comment.
question: Should this be calling self._close() or self.close()? I think potentially the latter is needed here because otherwise the self._ffi_handle is never cleaned up.
| class PublishDataTrackError(Exception): | ||
| def __init__(self, message: str) -> None: | ||
| self.message = message |
There was a problem hiding this comment.
question: Is it worth exposing a more rich set of errors here instead of just the single error with the message, like rust / js have added?
No description provided.